package com.feilong.modules.service.goods;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.feilong.modules.model.goods.po.GoodsInfoPO;
import com.feilong.modules.model.goods.request.QueryGoodsRequest;
import com.feilong.modules.model.goods.vo.GoodsDetailVO;
import com.feilong.modules.model.goods.vo.GoodsInfoVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface GoodsInfoService extends IService<GoodsInfoPO> {

    /**
     * 上传商品图片到微信云开发服务器
     * @param file
     * @param fileName
     */
    String uploadGoodsImage(MultipartFile file, String fileName);

    /**
     * 从微信云开发服务器获取商品信息
     * @param id
     * @return
     */
    GoodsDetailVO getGoodsInfo(Integer id);

    /**
     * 在微信云开发服务器添加商品信息
     * @param goodsInfo
     */
    void addGoodsInfo(GoodsDetailVO goodsInfo);

    /**
     * 更新微信云开发服务器商品信息
     * @param goodsInfo
     */
    void updateGoodsInfo(GoodsDetailVO goodsInfo);

    /**
     * 从mysql中获取商品列表或者查询商品
     * @param query
     * @return
     */
    Page<GoodsInfoVO> getGoodsList(QueryGoodsRequest query);

    /**
     * 不分页的形式根据商品名称获取商品列表
     * @param goodsName
     * @return
     */
    List<GoodsInfoVO> getGoodsByName(String goodsName);
}
